﻿



using System; 
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace ufida.u9.ait.openapi
{
	/// <summary>
	/// 退回处理AITDTO DTO :REST自定义的数据传输类型 
	/// 
	/// </summary>
	[DataContract(Namespace = "ufida.u9.ait.openapi")]
	[Serializable]
	public partial class RMAAITDTOData  
	{
		/// <summary>
		/// Default Constructor
		/// </summary>
		public RMAAITDTOData()
		{
			initData();
		}
		private void initData()
		{
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
					SrcDocType= -1; 
				

			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}
		[System.Runtime.Serialization.OnDeserializing]
		internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
		{
			 initData();
		}
		#region Do SerializeKey -ForDTODataType
		//只为处理集合型EntityKey。原因集合型EntityKey由于使用臫的集合对象，无法实现数据共享.-UBF专用.
		public void DoSerializeKeyList(IDictionary dict)
		{
			if (dict == null ) dict = new Hashtable() ;
			if (dict[this] != null)
				return ;
			dict[this] = this;
	        			if (this.RMALines!=null)
			{
				foreach(ufida.u9.ait.openapi.RMALineAITDTOData objdata in this.RMALines)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
				        	        			if (this.TC != null) 
			{
				this.TC.DoSerializeKeyList(dict);
			}
	        			if (this.ShipToSite != null) 
			{
				this.ShipToSite.DoSerializeKeyList(dict);
			}
	        			if (this.SettlementOrg != null) 
			{
				this.SettlementOrg.DoSerializeKeyList(dict);
			}
	        			if (this.Seller != null) 
			{
				this.Seller.DoSerializeKeyList(dict);
			}
	        			if (this.SaleDept != null) 
			{
				this.SaleDept.DoSerializeKeyList(dict);
			}
	        	        			if (this.Org != null) 
			{
				this.Org.DoSerializeKeyList(dict);
			}
	        			if (this.DocumentType != null) 
			{
				this.DocumentType.DoSerializeKeyList(dict);
			}
	        			if (this.InvoiceOrg != null) 
			{
				this.InvoiceOrg.DoSerializeKeyList(dict);
			}
	        			if (this.Customer != null) 
			{
				this.Customer.DoSerializeKeyList(dict);
			}
	        	        			if (this.BillToSite != null) 
			{
				this.BillToSite.DoSerializeKeyList(dict);
			}
	        			if (this.AccountOrg != null) 
			{
				this.AccountOrg.DoSerializeKeyList(dict);
			}
	        	        			if (this.DescFlexField != null) 
			{
				this.DescFlexField.DoSerializeKeyList(dict);
			}

		}
		#endregion 
		/// <summary>
		/// Constructor Full Argument
		/// </summary>
		public RMAAITDTOData(  List<ufida.u9.ait.openapi.RMALineAITDTOData> rMALines  , System.String docNo  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData tC  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData shipToSite  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData settlementOrg  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData seller  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData saleDept  , System.String requireDate  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData org  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData documentType  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData invoiceOrg  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData customer  , System.String businessDate  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData billToSite  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData accountOrg  , System.Int32 srcDocType  , ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData descFlexField  )
		{
			initData();
			this.RMALines = rMALines;
			this.DocNo = docNo;
			this.TC = tC;
			this.ShipToSite = shipToSite;
			this.SettlementOrg = settlementOrg;
			this.Seller = seller;
			this.SaleDept = saleDept;
			this.RequireDate = requireDate;
			this.Org = org;
			this.DocumentType = documentType;
			this.InvoiceOrg = invoiceOrg;
			this.Customer = customer;
			this.BusinessDate = businessDate;
			this.BillToSite = billToSite;
			this.AccountOrg = accountOrg;
			this.SrcDocType = srcDocType;
			this.DescFlexField = descFlexField;
		}
		#region System Fields 
		//--系统字段,目前没有.EntityData上有相应的字段,用于保存相关的实体状态信息,DTO上没有状态信息.	
		#endregion
		
		#region DTO Properties 
	
		

		/// <summary>
		/// 退回处理行
		/// 退回处理AITDTO.Misc.退回处理行
		/// </summary>
		private List<ufida.u9.ait.openapi.RMALineAITDTOData> m_rMALines ;
		[DataMember(IsRequired=false)]
		public List<ufida.u9.ait.openapi.RMALineAITDTOData> RMALines
		{
			get	
			{	
				if (m_rMALines == null )
				{
					List<ufida.u9.ait.openapi.RMALineAITDTOData> n_m_list = new List<ufida.u9.ait.openapi.RMALineAITDTOData>() ;
					m_rMALines = n_m_list ;
				}
				return m_rMALines ;
			}
			set	
			{	
				m_rMALines = value ;	
			}
		}
			
		

		/// <summary>
		/// 单号
		/// 退回处理AITDTO.Misc.单号
		/// </summary>
		private System.String m_docNo ;
		[DataMember(IsRequired=false)]
		public System.String DocNo
		{
			get	
			{	
				return m_docNo ;
			}
			set	
			{	
				m_docNo = value ;	
			}
		}
			
		

		/// <summary>
		/// 交易币种
		/// 退回处理AITDTO.Misc.交易币种
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_tC ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData TC
		{
			get	
			{	
				return m_tC ;
			}
			set	
			{	
				m_tC = value ;	
			}
		}
			
		

		/// <summary>
		/// 退货位置
		/// 退回处理AITDTO.Misc.退货位置
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_shipToSite ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData ShipToSite
		{
			get	
			{	
				return m_shipToSite ;
			}
			set	
			{	
				m_shipToSite = value ;	
			}
		}
			
		

		/// <summary>
		/// 结算组织
		/// 退回处理AITDTO.Misc.结算组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_settlementOrg ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData SettlementOrg
		{
			get	
			{	
				return m_settlementOrg ;
			}
			set	
			{	
				m_settlementOrg = value ;	
			}
		}
			
		

		/// <summary>
		/// 业务员
		/// 退回处理AITDTO.Misc.业务员
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_seller ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Seller
		{
			get	
			{	
				return m_seller ;
			}
			set	
			{	
				m_seller = value ;	
			}
		}
			
		

		/// <summary>
		/// 部门
		/// 退回处理AITDTO.Misc.部门
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_saleDept ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData SaleDept
		{
			get	
			{	
				return m_saleDept ;
			}
			set	
			{	
				m_saleDept = value ;	
			}
		}
			
		

		/// <summary>
		/// 需求日期
		/// 退回处理AITDTO.Misc.需求日期
		/// </summary>
		private System.String m_requireDate ;
		[DataMember(IsRequired=false)]
		public System.String RequireDate
		{
			get	
			{	
				return m_requireDate ;
			}
			set	
			{	
				m_requireDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 组织
		/// 退回处理AITDTO.Misc.组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_org ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Org
		{
			get	
			{	
				return m_org ;
			}
			set	
			{	
				m_org = value ;	
			}
		}
			
		

		/// <summary>
		/// 单据类型
		/// 退回处理AITDTO.Misc.单据类型
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_documentType ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData DocumentType
		{
			get	
			{	
				return m_documentType ;
			}
			set	
			{	
				m_documentType = value ;	
			}
		}
			
		

		/// <summary>
		/// 发票组织
		/// 退回处理AITDTO.Misc.发票组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_invoiceOrg ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData InvoiceOrg
		{
			get	
			{	
				return m_invoiceOrg ;
			}
			set	
			{	
				m_invoiceOrg = value ;	
			}
		}
			
		

		/// <summary>
		/// 客户
		/// 退回处理AITDTO.Misc.客户
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_customer ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Customer
		{
			get	
			{	
				return m_customer ;
			}
			set	
			{	
				m_customer = value ;	
			}
		}
			
		

		/// <summary>
		/// 业务日期
		/// 退回处理AITDTO.Misc.业务日期
		/// </summary>
		private System.String m_businessDate ;
		[DataMember(IsRequired=false)]
		public System.String BusinessDate
		{
			get	
			{	
				return m_businessDate ;
			}
			set	
			{	
				m_businessDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 立账位置
		/// 退回处理AITDTO.Misc.立账位置
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_billToSite ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData BillToSite
		{
			get	
			{	
				return m_billToSite ;
			}
			set	
			{	
				m_billToSite = value ;	
			}
		}
			
		

		/// <summary>
		/// 核算组织
		/// 退回处理AITDTO.Misc.核算组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_accountOrg ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData AccountOrg
		{
			get	
			{	
				return m_accountOrg ;
			}
			set	
			{	
				m_accountOrg = value ;	
			}
		}
			
		

		/// <summary>
		/// 来源单据类别
		/// 退回处理AITDTO.Misc.来源单据类别
		/// </summary>
		private System.Int32 m_srcDocType ;
		[DataMember(IsRequired=false)]
		public System.Int32 SrcDocType
		{
			get	
			{	
				return m_srcDocType ;
			}
			set	
			{	
				m_srcDocType = value ;	
			}
		}
			
		

		/// <summary>
		/// 扩展字段
		/// 退回处理AITDTO.Misc.扩展字段
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData m_descFlexField ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData DescFlexField
		{
			get	
			{	
				return m_descFlexField ;
			}
			set	
			{	
				m_descFlexField = value ;	
			}
		}
			
		#endregion	

		#region Multi_Fields
																																		
		#endregion 
	} 	
}
